A data amount accumulated in an information processing apparatus such as a computer tends to increase. Therefore, at present, it is strongly demanded to manage a large amount of data at lower costs. A distributed object storage attracts attention as one of techniques capable of managing a large amount of data at low costs.
The distributed object storage is established as an information processing system in which a plurality of servers are used. In the distributed object storage, data is managed as objects. The objects are dispersedly stored in servers that configure the distributed object storage. By distributing the objects, both of resource amounts usable for the storage and calculation (processing) of the objects are improved according to the number of the servers. Therefore, in the distributed object storage, it is possible to improve both of a storage capacity and performance by adding servers.
It is also possible to distribute a load of processing by distributing the objects. Therefore, performance required of the servers is reduced. Therefore, in the distributed object storage, it is possible to reduce costs required for scale-out for increasing the number of the servers.
In the distributed object storage, metadata is used for management of the objects. The metadata is information related to the objects corresponding thereto and is used for searches and extractions of the corresponding objects. Therefore, indexes, which are data for searching and extracting the objects, are established using the metadata. One or more metadata are created for one object.
The searches in the distributed object storage are performed by servers that manage the indexes. Systems described below are used for the management of the indexes in the distributed object storage.
(a) Specific dedicated servers (e.g., one server) centrally manage all the indexes (hereinafter referred to as “centralized management system”)
(b) A different server manages each of the indexes (hereinafter referred to as “individual management system”)
(c) The servers manage the indexes of the objects stored in the servers (hereinafter referred to as “parallel management system”)
The management systems respectively have problems explained below.
In the centralized management system, searches and update of the indexes concentrate in the dedicated server. Usually, the number of the dedicated servers that manage the indexes is extremely small compared with the number of the servers that manage the objects. Therefore, a load on the dedicated servers tends to be heavy. The heavy load deteriorates search performance.
The distributed object storage usually supports an AND search that designates a plurality of metadata. In the individual management system, in the case of the AND search, for each of the designated metadata, an inquiry has to be transmitted to the server that manages the index corresponding to the metadata. A front end or the like has to perform processing for acquiring, from the servers, target objects specified by inquiries and extracting, out of the acquired target objects, target objects that satisfy search conditions designated by the AND search. Therefore, in the individual management system, a transfer amount of data tends to be large and it is difficult to obtain high search performance.
In the parallel management system, as in the individual management system, in the case of the AND search, for each of the designated metadata, an inquiry has to be transmitted to the server that manages the index corresponding to the metadata. Therefore, it is difficult to obtain high search performance.
As explained above, all the management systems have a problem in that the search performance tends to be deteriorated during the AND search. If convenience for users who need the objects are taken into account, it is considered important to suppress the deterioration in the search performance during the AND search.
Patent Literature 1: Japanese Patent Application Laid-Open No. 2012-168781.
Patent Literature 2: Japanese Patent Application Laid-Open No. S62-121576
Patent Literature 3: Japanese Patent Application Laid-Open No. 2002-7641
Patent Literature 4: Japanese Patent Application Laid-Open No. 2012-48592